Dissolving Ambiguities in UML Whole-Part Relationships
نویسنده
چکیده
The Unified Modeling Language is the software industry standard for OO graphical modeling languages. However, it does not adequately encompass the meronymic (whole-part) relationships. This paper provides an extension to the UML definition to include the excluded meronymic relationships in a formalized notation and remove the ambiguity of the aggregation definition in UML. Common design patterns are then translated into the ‘extended’ UML to show its clarity. The translations are analyzed to determine the complexity added to UML using the formal notation. This paper concludes that six historical meronymic relationships are actually design patterns based upon the formalized primary and secondary characteristics of whole-part relationships. Introduction Meronymic (whole-part) relationships are an essential part to Object-Orientated Programming and Design because it is one of the primary methods that human beings attempt to relate objects in the world. Correctly depicting these relationships in a modeling language, following the natural cognitive process further facilitates the design of software by assisting the selection of design patterns. Uniformed Modeling Language (UML) is one of the most common tools for the development of software. UML provides graphical representation of ObjectOrientated designs (OOD) and has become the de facto standard modeling language for industry. It has achieved this status primarily from its pragmatic nature of adopting the best modeling ideas from other graphical OO modeling languages [1]. UML’s graphical nature communicates the design information in a concise visual method but not necessarily with precision. This imprecision is due to the informality of its definitions. [2] This shows primarily in its definition and representation in the relationships known as aggregation and association. Aggregation and association are two of the three primary ways that a class can be related to another in UML. Aggregation can be depicted in two different ways. Strong aggregation is similar to the meronymic composite relationship, which is one of the six types of meronymic relationships defined in literature. [3] Weak aggregation does not correspond to any of the other meronymic relationships. UML does not adequately express the cognitive relationships, which can lead to miscommunication of the system design and defects in the product. Design patterns use modeling languages such as UML to express their solution to a design problem. Design patterns are an extension of the reuse concept in the architecture design of software. They express the structure of a solution shown in a graphical modeling and a description of the pattern’s properties as shown in Figure 1. [4] [5] Design patterns have a pragmatic background and their descriptions have been largely informal. [6] As a result of their impreciseness in definition, there is some ambiguity on which design pattern to implement, especially coupled with the whole-part relationship definitions in UML. Figure 1: Example of a Generic (Façade) Design Pattern Client Class Client Class
منابع مشابه
The Whole-Part Relationship in the Unified Modeling Language: A New Approach
This study of the semantics of the Whole-Part relationship in OO modeling is based upon, extends and, specifically, formalizes earlier analyses of the semantics of UML’s Aggregation and Composition (white and black diamonds, also called shared aggregation and composite aggregation). Although UML is nowadays regarded as a standard and is widely used as an OO modeling language, the way the Whole-...
متن کاملImplementing Relationship Constraints in OO Programming Languages
Rigorously defined object relationships are crucial to the successful expression of a conceptual design idea in a programming language. Conceptual relationships expressed by various forms of aggregation and association form the cornerstones of object-oriented systems. These relationships must be unambiguously articulated by the design notation and clearly implemented in a programming language. ...
متن کاملPre-conceptual Schema: A Conceptual-Graph-Like Knowledge Representation for Requirements Elicitation
A simple representation framework for ontological knowledge with dynamic and deontic characteristics is presented. It represents structural relationships (is-a, part/whole), dynamic relationships (actions such as register, pay, etc.), and conditional relationships (if-then-else). As a case study, we apply our representation language to the task of requirements elicitation in software engineerin...
متن کاملFormalization of Well-formedness Rules for Uml Use Case Diagram
Unified Modeling Language (UML) is a modeling language for specifying, constructing and documenting the artifacts of the systems. Similar to programming language such as C++ and Java, UML also consists of syntax and semantics. The UML syntax is the graphical notations to draw the UML diagrams and the semantics is the meaning of the notations. The semantics is grouped into two, static or well-fo...
متن کاملTransformation of Class Diagrams into Formal Specification
Requirements analysis and design specification is a serious issue in software engineering because of semantics involved in the transformation of real world problems to computational models. Unified Modeling Language (UML) has been accepted as a standard for design and development of object oriented systems. Unfortunately, most of UML structures are based on graphical notations and are prone to ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2004